package pl.skubicha.service;

import java.util.List;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import pl.skubicha.domain.Groups;
import pl.skubicha.exceptions.EntityConstraintException;
import pl.skubicha.exceptions.GroupNotFoundException;
import pl.skubicha.response.GroupDTO;

public interface GroupsService {

	public List< Groups > findAll();

	public Page< Groups > findAll( Pageable page );

	public Page< Groups > findAllMatching( String searchString, Pageable page );

	public Groups findById( Integer id ) throws GroupNotFoundException;

	public Groups create( GroupDTO created );

	public Groups update( GroupDTO updated ) throws GroupNotFoundException;

	public Groups delete( Integer groupId ) throws GroupNotFoundException, EntityConstraintException;
}